function [pub, plb, vub, vlb] = SetBound(Dimension,PopulationSize,lowerbound,upperbound)
    if(length(upperbound) == 1)
        plb = repmat(lowerbound,1,Dimension);
        pub = repmat(upperbound,1,Dimension);
    end    
    
    mv = 0.5*(pub-plb);
    plb = repmat(plb,PopulationSize,1);
    pub = repmat(pub,PopulationSize,1);
    vlb = repmat(-mv,PopulationSize,1);
    vub = -vlb;
end